home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 41.zip / BS1 part 41 / Devpac 2.12 disk 2.adf / include.cbm / workbench / workbench.i < prev   
Text File  |  1987-03-31  |  3KB  |  105 lines

  1.  
  2.  
  3. *********************************************************************
  4. *
  5. * workbench.h
  6. *
  7. * $Header: workbench.i,v 32.1 86/01/06 04:25:56 neil Exp $
  8. *
  9. * $Locker:  $
  10. *
  11. *********************************************************************
  12.  
  13.         IFND    EXEC_TYPES_I
  14.         INCLUDE "exec/types.i"
  15.         ENDC    !EXEC_TYPES_I
  16.  
  17.         IFND    EXEC_NODES_I
  18.         INCLUDE "exec/nodes.i"
  19.         ENDC    !EXEC_NODES_I
  20.  
  21.         IFND    EXEC_LISTS_I
  22.         INCLUDE "exec/lists.i"
  23.         ENDC    !EXEC_LISTS_I
  24.  
  25.         IFND    EXEC_TASKS_I
  26.         INCLUDE "exec/tasks.i"
  27.         ENDC    !EXEC_TASKS_I
  28.  
  29.         IFND    INTUITION_INTUITION_I
  30.         INCLUDE "intuition/intuition.i"
  31.         ENDC    !INTUITION_INTUITION_I
  32.  
  33.  
  34. ; the Workbench object types
  35. WBDISK          EQU     1
  36. WBDRAWER        EQU     2
  37. WBTOOL          EQU     3
  38. WBPROJECT       EQU     4
  39. WBGARBAGE       EQU     5
  40. WBDEVICE        EQU     6
  41. WBKICK          EQU     7
  42.  
  43.  
  44. ; the main workbench object structure
  45.  STRUCTURE DrawerData,0
  46.     STRUCT      dd_NewWindow,nw_SIZE    ; args to open window
  47.     LONG        dd_CurrentX             ; current x coordinate of origin
  48.     LONG        dd_CurrentY             ; current y coordinate of origin
  49.     LABEL       dd_SIZEOF
  50.  
  51. ; the amount of DrawerData actually written to disk
  52. DRAWERDATAFILESIZE      EQU (dd_SIZEOF)
  53.  
  54.  
  55.  STRUCTURE DiskObject,0
  56.     UWORD       do_Magic                ; a magic num at the start of the file
  57.     UWORD       do_Version              ; a version number, so we can change it
  58.     STRUCT      do_Gadget,gg_SIZEOF     ; a copy of in core gadget
  59.     UWORD       do_Type
  60.     APTR        do_DefaultTool
  61.     APTR        do_ToolTypes
  62.     LONG        do_CurrentX
  63.     LONG        do_CurrentY
  64.     APTR        do_DrawerData
  65.     APTR        do_ToolWindow           ; only applies to tools
  66.     LONG        do_StackSize            ; only applies to tools
  67.     LABEL       do_SIZEOF
  68.  
  69. WB_DISKMAGIC    EQU     $e310   ; a magic number, not easily impersonated
  70. WB_DISKVERSION  EQU     1       ; our current version number
  71.  
  72.  STRUCTURE FreeList,0
  73.     WORD        fl_NumFree
  74.     STRUCT      fl_MemList,LH_SIZE
  75.     ; weird name to avoid conflicts with FileLocks
  76.     LABEL       FreeList_SIZEOF
  77.  
  78.  
  79.  
  80. * each message that comes into the WorkBenchPort must have a type field
  81. * in the preceeding short.  These are the defines for this type
  82. *
  83.  
  84. MTYPE_PSTD              EQU     1       ; a "standard Potion" message
  85. MTYPE_TOOLEXIT          EQU     2       ; exit message from our tools
  86. MTYPE_DISKCHANGE        EQU     3       ; dos telling us of a disk change
  87. MTYPE_TIMER             EQU     4       ; we got a timer tick
  88. MTYPE_CLOSEDOWN         EQU     5       ; <unimplemented>
  89. MTYPE_IOPROC            EQU     6       ; <unimplemented>
  90.  
  91.  
  92. * workbench does different complement modes for its gadgets.
  93. * It supports separate images, complement mode, and backfill mode.
  94. * The first two are identical to intuitions GADGIMAGE and GADGHCOMP.
  95. * backfill is similar to GADGHCOMP, but the region outside of the
  96. * image (which normally would be color three when complemented)
  97. * is flood-filled to color zero.
  98. *
  99. GADGBACKFILL            EQU     $0001
  100.  
  101. * if an icon does not really live anywhere, set its current position
  102. * to here
  103. *
  104. NO_ICON_POSITION        EQU     ($80000000)
  105.